package com.xing.radar.daoimpl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.RowBounds;

import com.xing.radar.bean.Item;
import com.xing.radar.dao.Dao;

public class RadarItemDaoImpl extends Dao {

	private final String daoNamespace = "com.xing.radar.daoimpl.RadarItemDaoImpl";

	public RadarItemDaoImpl() {
		super("item");
	}

	public Item getById(Integer id) {
		return (Item) selectOne(daoNamespace + ".getById", id);
	}

	public boolean hasItemByUrl(String itemUrl) {
		boolean tmp = false;
		int i = (Integer) selectOne(daoNamespace + ".countByUrl", itemUrl);
		if (i > 0) {
			tmp = true;
		}
		return tmp;
	}

	public boolean hasItemByTitle(String title) {
		boolean tmp = false;
		int i = (Integer) selectOne(daoNamespace + ".countByTitle", title);
		if (i > 0) {
			tmp = true;
		}
		return tmp;
	}

	public int getLastId() {
		return (Integer) selectOne(daoNamespace + ".getLastId");
	}

	public List<Item> getNotOverItem(int offset, int limit, int type) {
		Map<String, Integer> data = new HashMap<String, Integer>();
		data.put("offset", offset);
		data.put("limit", limit);
		data.put("type", type);
		return (List<Item>) selectList(daoNamespace + ".getNotOverItem", data);
	}

	public int save(Item item) {
		return insert(daoNamespace + ".save", item);
	}

	public int update(Item item) {
		return update(daoNamespace + ".update", item);
	}

	public List<Item> getNullContent(int offset, int limit, int wid) {
		return (List<Item>) selectList(daoNamespace + ".getNullContent", wid, new RowBounds(offset, limit));
	}

	public int countByType(int type) {
		return (Integer) selectOne(daoNamespace + ".countByType", type);
	}
}
